#ifndef PROGRAM_H
#define PROGRAM_H

#include "Engine/Engine.h"

namespace tyro
{
	namespace Engine
	{
		class Program
		{
		public:
			Program(Engine& engine);
			virtual ~Program();
			bool		 Run();
			virtual void Quit() = 0;
		protected:
			virtual bool Initialise() = 0;
			virtual void Release() = 0;
			virtual void Update();
			virtual void Render() = 0;


			FLOAT_32	timestep;

			/* Engine instance */
			Engine&		engine;

		private:
			
			bool		running;

			FLOAT_32	time_to_next_step_;

		};
	}
}

#endif